package com.dcloud.flow.service;

import com.dcloud.flow.entity.AipFlow;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dcloud.flow.entity.AipFlowNode;
import com.dcloud.flow.entity.request.GetFlowByTaskIdRequest;
import com.dcloud.flow.entity.request.SaveNodeFieldMapRequest;
import com.dcloud.flow.entity.request.SaveNodeValueRequest;
import com.dcloud.flow.entity.vo.NodeFieldMap;
import com.fasterxml.jackson.core.JsonProcessingException;

import java.util.List;

/**
 * @Description: aip_flow
 * @Author: jeecg-boot
 * @Date:   2023-07-28
 * @Version: V1.0
 */
public interface IAipFlowService extends IService<AipFlow> {

    AipFlow getFlowByTaskId(GetFlowByTaskIdRequest getFlowByTaskIdRequest);

    void saveNode(SaveNodeValueRequest saveNodeValueRequest);

    AipFlowNode getNodeByNodeId(SaveNodeValueRequest saveNodeValueRequest);

    List<NodeFieldMap> genNodeParam(SaveNodeValueRequest saveNodeValueRequest) throws ClassNotFoundException, InstantiationException, IllegalAccessException;

    void saveNodeFieldMap(SaveNodeFieldMapRequest saveNodeFieldMapRequest) throws JsonProcessingException;
}
